package com.itheima.api.pms;

import com.itheima.vo.domain.AjaxResult;
import com.itheima.vo.dto.pms.PmsProductCategoryDto;

import java.util.ArrayList;

public interface PmsProductCategoryService {

    /**
     * 1.添加商品分类
     * @param pmsProductCategoryDto
     * @return
     */
    AjaxResult create(PmsProductCategoryDto pmsProductCategoryDto);

    /**
     * 2.删除商品分类
     * @param id
     * @return
     */
    AjaxResult deleteById(Integer id);

    /**
     * 3.查询所有一级分类及子分类
     * @return
     */
    AjaxResult getListWithChildren();

    /**
     * 4.分页查询商品分类
     * @param parentId
     * @param pageNum
     * @param pageSize
     * @return
     */
    AjaxResult ListByParentId(Integer parentId, Integer pageNum, Integer pageSize);

    /**
     * 5.修改导航栏显示状态
     * @param ids
     * @param navStatus
     * @return
     */
    AjaxResult updateByNavStatus(ArrayList<Integer> ids, Integer navStatus);

    /**
     * 6.修改显示状态
     * @param ids
     * @param showStatus
     * @return
     */
    AjaxResult updateByShowStatus(ArrayList<Integer> ids, Integer showStatus);

    /**
     * 7.修改商品分类
     * @param id
     * @param pmsProductCategoryDto
     * @return
     */
    AjaxResult updateById(Integer id, PmsProductCategoryDto pmsProductCategoryDto);

    /**
     * 8.根据id获取商品分类
     * @param id
     * @return
     */
    AjaxResult findById(Integer id);
}
